云平台时间同步规划

时间同步简介

云平台通过Chronyc服务进行时间同步,Chrony是一个开源自由的网络时间协议NTP的客户端和服务器软软件。它能让计算机保持系统时钟与时钟服务器(NTP)同步,因此让计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算机提供时间同步服务。

Chrony由两个程序组成,分别是chronyd和chronyc:

  • chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

  • chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

  • NTP 是网络时间协议(Network Time Protocol)的简称,通过 udp 123 端口进行网络时钟同步。

ZStack中默认使用chrony作为时间服务器,也支持NTP,需要额外安装。NTP与chrony不能同时存在,只能用其中一个,并将另一个mask掉。

最佳实践

管理节点时间同步标准方案:

  • 若集群存在内部时间源,优先考虑其中一个管理节点A同步客户时间源,其他节点同步管理节点A。

  • 若集群没有内部时间源,但是管理节点可以访问外网,优先考虑其中一个管理节点A同步阿里云时间源,其他节点同步管理节点A。

  • 若集群存在内部时间且要求所有节点均同步至内部时间源,需要注意是双管理节点配置文件均要调整为内部时间源IP。
  • 若没有任何时间源且不能通外网,优先考虑管理节点A做时间源,其他节点同步管理节点A。
  • 若没有任何时间源且不能通外网,需要管理节点与浏览器时间同步,则需要手动调整管理节点时间。

云平台时间同步最佳实践

物理机时间管理方案

当前云平台的时间源管理推荐架构,集群内网服务器同步内网时间源,内网时间源同步公网时间源的方式,具体场景如下图:

image-20230613160854602

内部时间源管理方案

物理机添加到云平台,默认会读取管理节点zstack.properties文件里面的chrony.serverIp来作为物理机的时间源,推荐chrony.serverIp为内网server时间源,即为企业内部的时间服务器。若企业内部没有单独时间服务器,一般选择管理节点机器作为集群时间源。集群中的各个物理机时间主动同步管理节点zstack.properties文件的chrony.serverIP时间源。

注:双管理节点的场景,安装高可用节点的时候需要指定一个时间服务器作为时间源,即内网server时间源机器或者其中管理节点。

外部时间源管理方案

内网server时间服务器统一同步集群内部服务器时间,内网server时间源单独同步外网时间源,另外为保证内网server时间源的正确性,建议内网时间源通过多个外部时间源。若集群中机器可以直接通外网,集群中机器也可以直接同步公网的时间源。

内网server时间源(内部时间服务器或者管理节点)需要在 /etc/chrony.conf 文件增加外部server端地址进行时间同步。同时需要确保外部时间源 allow 允许内网时间源服务器可以访问。具体配置步骤如下:

  1. 配置外网server时间源

# vim /etc/chrony.conf

# 内网server服务器 /etc/chrony.conf文件末尾添加 server 时钟服务器ip iburst 保存退出,可以添加多个时间源,建议添加公网时间源,使用前请先ping对应的域名查看网络是否可达和相应的访问速度。需要注意的是若server端是域名,需要在/etc/resolv.conf 加上相应的dns解析地址。

image-20230613160929756

  1. 重启内网时间源server chronyd服务

# systemctl restart chronyd.service

3.重启集群内其他节点的chrony服务

# systemctl restart chronyd.service

4.检查时间同步是否正常

# chronyc sources -v

检查所有节点的时间同步状态,time server节点是否跟外部server时间设备同步,其他节点是否跟time server同步;“ ^* ”表示时间同步成功

Chronyd服务会自动同步软件时间到硬件时间,即当chronyc sources -v 执行后,结果输出为“ ^* ”即代表修改成功,当前同步的为该节点时间源信息。

image-20230613160945471

注意事项

  • ZCE存储3.x低版本时间同步时需停业务。
  • ZStone存储调整时间需全面停业务。
  • 云平台升级后需要检查双管理节点时间同步情况。
  • 双管理节点不能互相同步,双管理节点的/usr/local/zstack/apache-tomcat/webapps/zstack/WEB-INF/classes/zstack.properties配置文件需要设置为同一个管理节点,比如全部设置为MN1,不能全部分别指定自身MN地址;
  • 云平台管理节点运维变更如替换双管理节点、修改双管理节点IP等操作后需同步检查时间同步情况。
  • 双管理节点配置文件调整时间源后,重连物理机将自动刷新时间源,管理节点除外。
  • ZStone存储初始化时,指定的时间源需要与Cloud MN节点配置的时间源保持一致,否则重启MN将重新下发配置。

results matching ""

    No results matching ""